Data compression is used in communications and computer networking to store, transmit, and reproduce information efficiently. Data is generally in the form of symbols drawn from an alphabet. The alphabet may be binary in some examples but may be non-binary in many other examples.
Entropy coding is often used to encode a series or sequence of symbols in a manner that requires fewer bits than would otherwise be required to represent the series or sequence. Entropy coding may be context adaptive entropy coding in some cases. Example entropy encoding processes include Variable Length Codes such as Huffman codes, Arithmetic coding, and others.
Alphabets consisting of equiprobable symbols cannot be compressed. It is therefore undesirable to use an arithmetic coder or other complex entropy coder to convey equiprobable symbols. However, for reasons of system design, it is often desirable to interleave both ordinary and equiprobable symbols while using a single entropy coder.
It would be advantageous to provide encoders and decoders capable of efficiently handling both entropy coded and equiprobable symbols.
Similar reference numerals may have been used in different figures to denote similar components.